Generally, a GPS receiver must first acquire GPS signals from a plurality of satellites and then track these signals. During the acquisition stage, the carrier frequency and initial phase of the pseudorandom noise code (PRN code) of a received signal are found. These two parameters are then used for tracking the signal.
Due to the motion of the satellites and the receiver, Doppler effect may occur and the carrier frequency and PRN code may vary over time. To overcome Doppler effect and maintain the availability of GPS signals, a tracking process needs to be performed based on the initial carrier frequency and initial PRN code which are acquired during the acquisition stage. When the variations of carrier frequency and PRN code are successfully tracked by the receiver, the GPS signal is referred to as “locked” by the receiver. When the receiver fails to track the variation, a GPS signal from certain satellite is referred to as “lost”. When a signal is lost, it can not be used by the receiver for further processing such as calculating the position of the receiver. The receiver may need to perform acquisition again to ensure there is enough number of signals acquired and locked for further processing.
Therefore, there is a need to detect if a GPS signal is locked or lost. When the receiver finds a signal lost, it may need to acquire the signal again or may need to acquire another signal from another satellite. The time used to detect the lock status of the signal is a critical parameter in positioning technology. The shorter the time is needed, the better the receiver performs.
Conventionally, in a GPS receiver, a bit synchronization method is employed to determine if the signal is locked or lost. More specifically, a bit synchronization module is needed to identify the bit boundaries of navigation data stream after the carrier signal and PRN code have been stripped off from the received GPS signal. The navigation data stream is formed by a sequence of navigation data bits. The lasting time of each data bit is 20 ms. The end of a data bit, which is also the beginning of another data bit, is referred to as a boundary of a navigation data bit (bit boundary). In the bit synchronization method, the lock status of the signal is detected at the same time when the bit boundaries of navigation data stream are determined. If the bit boundaries can not be determined after repeating the search process for a predetermined times, the signal is regarded as lost. The basic idea of this method is to check whether the data transitions always happen in the same position.
However, there are some drawbacks to this method. First, it is difficult to determine the bit boundaries and the lock status if there are no data transitions within a long bit sequence. In other words, this method is not efficient when there are long sequences of “0” or “1” in the navigation data stream. Second, it is time-consuming. It needs 800 ms to search 40 bits, and totally 4 seconds to confirm the result if the search process needs to be repeated 5 times. Third, the bit synchronization process needs to be performed from time to time in order to detect lock status even after the signal is acquired.
Therefore, it is to a spread spectrum receiver that is able to detect the lock status of a received signal quickly and efficiently, even if there are long sequences of “0” or “1” in the navigation data stream that the present invention is primarily directed.